YES(O(1),O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { a__c() -> a__f(g(c())) , a__c() -> c() , a__f(X) -> f(X) , a__f(g(X)) -> g(X) , mark(g(X)) -> g(X) , mark(c()) -> a__c() , mark(f(X)) -> a__f(X) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'Small Polynomial Path Order (PS,1-bounded)' to orient following rules strictly. Trs: { a__c() -> a__f(g(c())) , a__c() -> c() , a__f(X) -> f(X) , a__f(g(X)) -> g(X) , mark(g(X)) -> g(X) , mark(c()) -> a__c() , mark(f(X)) -> a__f(X) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- The input was oriented with the instance of 'Small Polynomial Path Order (PS,1-bounded)' as induced by the safe mapping safe(a__c) = {}, safe(a__f) = {1}, safe(g) = {1}, safe(c) = {}, safe(mark) = {1}, safe(f) = {1} and precedence a__c > a__f, mark > a__c, mark > a__f . Following symbols are considered recursive: {a__f} The recursion depth is 1. For your convenience, here are the satisfied ordering constraints: a__c() > a__f(; g(; c())) a__c() > c() a__f(; X) > f(; X) a__f(; g(; X)) > g(; X) mark(; g(; X)) > g(; X) mark(; c()) > a__c() mark(; f(; X)) > a__f(; X) We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(1)). Weak Trs: { a__c() -> a__f(g(c())) , a__c() -> c() , a__f(X) -> f(X) , a__f(g(X)) -> g(X) , mark(g(X)) -> g(X) , mark(c()) -> a__c() , mark(f(X)) -> a__f(X) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))